import { IntersectionType, OmitType, PartialType } from '@nestjs/swagger'
import { ListPaginationDto } from '@/shared/types/globalDto.dto'
import { Invitation } from '../entities/invitation.entity'

export class CreateInvitationDto extends OmitType(PartialType(Invitation), [
  'invitationId',
  'createdAt',
  'updatedAt',
]) {}

export class UpdateInvitationDto extends CreateInvitationDto {}

export class FindOneInvitationDto extends PartialType(Invitation) {}

export class ListPageInvitationDto extends PartialType(
  IntersectionType(FindOneInvitationDto, ListPaginationDto),
) {}

export class WebListPageInvitationDto extends ListPageInvitationDto {}
